home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 167 / pascal / time.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1987-08-18  |  2.1 KB  |  73 lines

  1. PROCEDURE Time;
  2. BEGIN
  3.    { get time from regular system clock and break into hours, minutes and sec.}
  4.    Start := Ticks;               { starting point for second counter }
  5.    Temp_Time := T_Gettime ;               { get system time }
  6.    Sec := ( Temp_Time & 31 );             { Seconds * 2 }
  7.    Sec := Sec * 2 ;
  8.    Min := SHR( ( Temp_Time & 2016 ),5 );  { Minutes }
  9.    Hr  := SHR( Temp_Time,11 );{ Hours - military }
  10.    Hr  := Hr & 31 ;
  11.           { calculate total seconds from midnight on system clock }
  12.    Total_Sec := 0 ;
  13.    Temp_Sec := Hr ;
  14.    Temp_Sec := ( Temp_Sec*3600 );
  15.    Total_Sec := Temp_Sec ;
  16.    Temp_Sec := Min ;
  17.    Temp_Sec := ( Temp_Sec*60 ) ;
  18.    Total_Sec := Total_Sec + Temp_Sec ;
  19.    Temp_Sec := Sec ;
  20.    Total_Sec := Total_Sec + Temp_Sec ;
  21.    Temp_Sec := Total_Sec ;
  22.    Original_Sec := Total_Sec ;
  23.       { calculate which digits to print for Draw_String comand }
  24.    PM_Flag := False ;
  25.    IF Hr > 12 THEN
  26.    BEGIN
  27.       Hr := Hr-12 ;
  28.       PM_Flag := True;
  29.    END;
  30.    IF Hr = 0 THEN Hr := 12 ;
  31.    Hr_10 :=  Hr DIV 10 ;
  32.    Hr_1 :=  Hr MOD 10 ;
  33.    IF Sec = 0 THEN
  34.    BEGIN
  35.       Sec_1 := 0;
  36.       Sec_10 := 0;
  37.    END
  38.    ELSE BEGIN
  39.       Sec_10 :=  Sec DIV 10 ;
  40.       Sec_1 :=  Sec MOD 10 ;
  41.    END;
  42.    IF Min = 0 THEN
  43.    BEGIN
  44.       Min_1 := 0;
  45.       Min_10 := 0;
  46.    END
  47.    ELSE BEGIN
  48.       Min_10 := Min DIV 10 ;
  49.       Min_1 := Min MOD 10 ;
  50.    END;
  51.       Hide_Mouse ;
  52.       Text_Color( 2 );
  53.       Draw_String( 16,30,'  HOUR       MINUTE        SECOND  ' ) ;
  54.       D_Hr_10 ;                    {  Draw Digit on the screen }
  55.       DX := 36 ;
  56.       D_Digit( Hr_1 ) ;
  57.       DX := 100 ;
  58.       D_Digit( Min_10 ) ;
  59.       DX := 148 ;
  60.       D_Digit( Min_1 ) ;
  61.       DX := 212 ;
  62.       D_Digit( Sec_10 ) ;
  63.       DX := 260 ;
  64.       D_Digit( Sec_1 ) ;
  65.       Text_Color( 2 );
  66.       IF PM_Flag THEN Draw_String( 272,119,'PM' )
  67.                  ELSE Draw_String( 272,119,'AM' );
  68.       Old_Hr_10:=Hr_10; Old_Hr_1:=Hr_1;
  69.       Old_Min_10:=Min_10; Old_Min_1:=Min_1;
  70.       Old_Sec_10:=Sec_10; Old_Sec_1:=Sec_1;
  71.       Show_Mouse ;
  72. END;  { of Time }
  73.